home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
prolog
/
ai.prl
/
opnprlg1.hqx
/
Open Prolog
/
Open Prolog.rsrc
/
CODE_36_PASLIB.txt
< prev
next >
Wrap
Text File
|
1993-04-15
|
12KB
|
247 lines
# near model CODE resource
# entry label at 0x0000
export_478:
entry:
00000000 2F00 move.l -[A7], D0
00000002 2F01 move.l -[A7], D1
00000004 302F 0010 move.w D0, [A7 + 0x10]
00000008 C1EF 000E muls.w D0, [A7 + 0xE]
0000000C 322F 000C move.w D1, [A7 + 0xC]
00000010 C3EF 0012 muls.w D1, [A7 + 0x12]
00000014 D041 add.w D0, D1
00000016 4840 swap.w D0
00000018 4240 clr.w D0
0000001A 322F 0012 move.w D1, [A7 + 0x12]
0000001E C2EF 000E mulu.w D1, [A7 + 0xE]
00000022 D081 add.l D0, D1
00000024 2F40 0010 move.l [A7 + 0x10], D0
00000028 221F move.l D1, [A7]+
0000002A 201F move.l D0, [A7]+
0000002C 2F57 0004 move.l [A7 + 0x4], [A7]
00000030 588F addq.l A7, 4
00000032 4E75 rts
export_479:
00000034 4E56 0000 link A6, 0
00000038 2F00 move.l -[A7], D0
0000003A 2F01 move.l -[A7], D1
0000003C 202F 0014 move.l D0, [A7 + 0x14]
00000040 222F 0010 move.l D1, [A7 + 0x10]
00000044 4EBA 0014 jsr [PC + 0x14 /* 0000005A */]
00000048 2F41 0014 move.l [A7 + 0x14], D1
0000004C 221F move.l D1, [A7]+
0000004E 201F move.l D0, [A7]+
00000050 4E5E unlink A6
00000052 2F57 0004 move.l [A7 + 0x4], [A7]
00000056 588F addq.l A7, 4
00000058 4E75 rts
fn0000005A:
0000005A 48E7 3E00 movem.l -[A7], D2,D3,D4,D5,D6
0000005E 2A00 move.l D5, D0
00000060 6A02 bpl +0x4 /* 00000064 */
00000062 4480 neg.l D0
label00000064:
00000064 2C01 move.l D6, D1
00000066 6A02 bpl +0x4 /* 0000006A */
00000068 4481 neg.l D1
label0000006A:
0000006A 2401 move.l D2, D1
0000006C 4842 swap.w D2
0000006E 4A42 tst.w D2
00000070 661C bne +0x1E /* 0000008E */
00000072 3600 move.w D3, D0
00000074 4240 clr.w D0
00000076 4840 swap.w D0
00000078 6704 beq +0x6 /* 0000007E */
0000007A 80C1 divu.w D0, D1
0000007C 3400 move.w D2, D0
label0000007E:
0000007E 4842 swap.w D2
00000080 3003 move.w D0, D3
00000082 80C1 divu.w D0, D1
00000084 3400 move.w D2, D0
00000086 2202 move.l D1, D2
00000088 4240 clr.w D0
0000008A 4840 swap.w D0
0000008C 6022 bra +0x24 /* 000000B0 */
label0000008E:
0000008E 2400 move.l D2, D0
00000090 4240 clr.w D0
00000092 4840 swap.w D0
00000094 4842 swap.w D2
00000096 4242 clr.w D2
00000098 2601 move.l D3, D1
0000009A 7200 moveq.l D1, 0x00
0000009C 780F moveq.l D4, 0x0F
label0000009E:
0000009E D482 add.l D2, D2
000000A0 D180 addx.l D0, D0
000000A2 D281 add.l D1, D1
000000A4 B083 cmp.l D0, D3
000000A6 6D04 blt +0x6 /* 000000AC */
000000A8 9083 sub.l D0, D3
000000AA 5201 addq.b D1, 1
label000000AC:
000000AC 51CC FFF0 dbf D4, -0x12 /* 0000009E */
label000000B0:
000000B0 4A85 tst.l D5
000000B2 6A02 bpl +0x4 /* 000000B6 */
000000B4 4480 neg.l D0
label000000B6:
000000B6 BB86 xor.l D6, D5
000000B8 6A02 bpl +0x4 /* 000000BC */
000000BA 4481 neg.l D1
label000000BC:
000000BC 4CDF 007C movem.l D6,D5,D4,D3,D2, [A7]+
000000C0 4E75 rts
export_480:
000000C2 4E56 0000 link A6, 0
000000C6 2F00 move.l -[A7], D0
000000C8 7000 moveq.l D0, 0x00
000000CA 102E 000A move.b D0, [A6 + 0xA]
000000CE B06E 0008 cmp.w D0, [A6 + 0x8]
000000D2 6F0A ble +0xC /* 000000DE */
000000D4 487A 0018 pea.l [PC + 0x18 /* 000000EE, pstring "String Range Check Abort" */]
000000D8 303C FE15 move.w D0, 0xFE15
000000DC A9C9 trap SysError
label000000DE:
000000DE 201F move.l D0, [A7]+
000000E0 4E5E unlink A6
000000E2 2E9F move.l [A7], [A7]+
000000E4 4E75 rts
000000E6 5354 subq.w [A4], 1
000000E8 5252 addq.w [A2], 1
000000EA 4743 chk.w D3, D3
000000EC 484B pea.l A3
000000EE 1853 movea.b A4, [A3]
000000F0 7472 moveq.l D2, 0x72
000000F2 696E bvs +0x70 /* 00000162 */
000000F4 6720 beq +0x22 /* 00000116 */
000000F6 5261 addq.w -[A1], 1
000000F8 6E67 bgt +0x69 /* 00000161 */
000000FA 6520 bcs +0x22 /* 0000011C */
000000FC 4368 6563 chk.w D1, [A0 + 0x6563]
00000100 6B20 bmi +0x22 /* 00000122 */
00000102 4162 chk.w D0, -[A2]
00000104 6F72 ble +0x74 /* 00000178 */
00000106 7400 moveq.l D2, 0x00
export_481:
00000108 42A7 clr.l -[A7]
0000010A 48E7 E0E0 movem.l -[A7], D0,D1,D2,A0,A1,A2
0000010E 41EF 0020 lea.l A0, [A7 + 0x20]
00000112 3018 move.w D0, [A0]+
00000114 D0C0 add.w A0, D0
label00000116:
00000116 2248 movea.l A1, A0
00000118 2448 movea.l A2, A0
0000011A 3219 move.w D1, [A1]+
label0000011C:
0000011C D2C0 add.w A1, D0
0000011E E248 lsr D0.w, 1
00000120 6006 bra +0x8 /* 00000128 */
label00000122:
00000122 3220 move.w D1, -[A0]
00000124 C261 and.w D1, -[A1]
00000126 6616 bne +0x18 /* 0000013E */
label00000128:
00000128 5340 subq.w D0, 1
0000012A 6AF6 bpl -0x8 /* 00000122 */
label0000012C:
0000012C 206F 001C movea.l A0, [A7 + 0x1C]
00000130 2508 move.l -[A2], A0
00000132 2F4A 0018 move.l [A7 + 0x18], A2
00000136 4CDF 0707 movem.l A2,A1,A0,D2,D1,D0, [A7]+
0000013A 2E5F movea.l A7, [A7]+
0000013C 4E75 rts
label0000013E:
0000013E 487A 0012 pea.l [PC + 0x12 /* 00000152, pstring "Set Range Check Abort" */]
00000142 303C FE15 move.w D0, 0xFE15
00000146 A9C9 trap SysError
00000148 60E2 bra -0x1C /* 0000012C */
0000014A 5354 subq.w [A4], 1
0000014C 524E addq.w A6, 1
0000014E 4743 chk.w D3, D3
00000150 484B pea.l A3
00000152 1553 6574 move.b [A2 + 0x6574], [A3]
00000156 2052 movea.l A0, [A2]
00000158 616E bsr +0x70 /* 000001C8 */
0000015A 6765 beq +0x67 /* 000001C1 */
0000015C 2043 movea.l A0, D3
0000015E 6865 bvc +0x67 /* 000001C5 */
00000160 636B bls +0x6D /* 000001CD */
label00000161: // (misaligned)
label00000162:
00000162 2041 movea.l A0, D1
00000164 626F bhi +0x71 /* 000001D5 */
00000166 7274 moveq.l D1, 0x74
export_482:
00000168 48E7 E0E0 movem.l -[A7], D0,D1,D2,A0,A1,A2
0000016C 43EF 001C lea.l A1, [A7 + 0x1C]
00000170 3019 move.w D0, [A1]+
00000172 2059 movea.l A0, [A1]+
00000174 3400 move.w D2, D0
00000176 D442 add.w D2, D2
label00000178:
00000178 D442 add.w D2, D2
0000017A D2C2 add.w A1, D2
0000017C 4241 clr.w D1
0000017E 5248 addq.w A0, 1
00000180 6020 bra +0x22 /* 000001A2 */
label00000182:
00000182 2461 movea.l A2, -[A1]
00000184 4242 clr.w D2
00000186 141A move.b D2, [A2]+
00000188 D242 add.w D1, D2
0000018A 0C41 00FF cmpi.w D1, 0xFF
0000018E 6F0E ble +0x10 /* 0000019E */
00000190 0441 00FF subi.w D1, 0xFF
00000194 9441 sub.w D2, D1
00000196 323C 00FF move.w D1, 0xFF
0000019A 6002 bra +0x4 /* 0000019E */
label0000019C:
0000019C 10DA move.b [A0]+, [A2]+
label0000019E:
0000019E 51CA FFFC dbf D2, -0x6 /* 0000019C */
label000001A2:
000001A2 51C8 FFDE dbf D0, -0x24 /* 00000182 */
000001A6 2061 movea.l A0, -[A1]
000001A8 1081 move.b [A0], D1
000001AA 3021 move.w D0, -[A1]
000001AC 2049 movea.l A0, A1
000001AE D040 add.w D0, D0
000001B0 D040 add.w D0, D0
000001B2 D0C0 add.w A0, D0
000001B4 5448 addq.w A0, 2
000001B6 20A1 move.l [A0], -[A1]
000001B8 2288 move.l [A1], A0
000001BA 4CDF 0707 movem.l A2,A1,A0,D2,D1,D0, [A7]+
000001BE 2E5F movea.l A7, [A7]+
000001C0 4E75 rts
export_483:
label000001C1: // (misaligned)
000001C2 48E7 C0C0 movem.l -[A7], D0,D1,A0,A1
label000001C5: // (misaligned)
000001C6 7201 moveq.l D1, 0x01
fn000001C8:
000001C8 6006 bra +0x8 /* 000001D0 */
export_484:
000001CA 48E7 C0C0 movem.l -[A7], D0,D1,A0,A1
label000001CD: // (misaligned)
000001CE 4241 clr.w D1
label000001D0:
000001D0 206F 0018 movea.l A0, [A7 + 0x18]
000001D4 226F 0014 movea.l A1, [A7 + 0x14]
label000001D5: // (misaligned)
000001D8 4240 clr.w D0
000001DA 1010 move.b D0, [A0]
label000001DC:
000001DC B308 cmpm.b [A1]+, [A0]+
000001DE 56C8 FFFC dbne D0, -0x6 /* 000001DC */
000001E2 6604 bne +0x6 /* 000001E8 */
000001E4 0A41 0001 xori.w D1, 0x1
label000001E8:
000001E8 1F41 001A move.b [A7 + 0x1A], D1
000001EC 2F6F 0010 0016 move.l [A7 + 0x16], [A7 + 0x10]
000001F2 4CDF 0303 movem.l A1,A0,D1,D0, [A7]+
000001F6 5C4F addq.w A7, 6
000001F8 4E75 rts